// 提示集合实体类：用于管理和显示一组相关的提示信息
class PromptSet extends Entity {
    // 构造函数：初始化提示集合
    // @param prompts: 提示实体数组（会过滤掉空值）
    constructor(prompts) {
        super();
        this.prompts = prompts.filter(x => x);
    }

    // 更新所有提示的状态
    // @param elapsed: 经过的时间
    cycle(elapsed) {
        super.cycle(elapsed);
        // 更新每个提示的状态
        for (const prompt of this.prompts) {
            prompt.cycle(elapsed);
        }
    }

    // 渲染所有提示
    // @param camera: 当前相机实体
    render(camera) {
        // 设置渲染位置（相对于相机，Y轴偏移100像素）
        ctx.translate(camera.x, camera.y + 100);

        // 在触摸设备上放大2倍
        if (inputMode === INPUT_MODE_TOUCH) {
            ctx.scale(2, 2);
        }

        // 逐个渲染提示，每个提示之间间隔50像素
        for (const prompt of this.prompts) {
            prompt.render(camera);
            ctx.translate(0, 50);
        }
    }
}
